home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
bbs_game
/
sdl212x.zip
/
SD_DEVLP.TXT
< prev
next >
Wrap
Text File
|
1996-05-15
|
30KB
|
772 lines
-------------------------------------------------------------------------
STARDOCK LOCO - Expansion module help for programmers - IGM's
-------------------------------------------------------------------------
You are welcome to write any code that you wish for Stardock Loco's
expansion module features, as long as you give me credit, and you do not
charge more than the cost of Stardock Loco - if you create a module
that you wish to have them register. I would like to have a look at it
for approval, to make sure it stays within the game story, and doesn't
trash a BBS's game files.
I do _not_ require any $$ from the proceeds of your module(s). But if you
want, send it over... <G>
The module must run from one of the expansion module areas in the game.
If you create a module, upload it to the support bbs, and I like it, I will
send you a registration key for yourself or for your favorite BBS. It
doesn't necessarily have to be a great or large module by any means,
just something creative and interesting. I'm pretty easy on the standards!
Heck, this is all for fun anyway!
See the very bottom of this file for the support bbs numbers and how to get
in touch with me if you need help.
There are many IGM/expansion module areas:
* The <U> Upstairs and <D> Downstairs portions of Terran Pete's Slush Bar.
* The <O> Other Places area in the ShipYards. (30 slots)
* The area on board a players ship: <G> Go for a cruise.
* The Blackmarket. <Enter> at the Main Menu.
* Favrie Colony IGM slots. (5 slots)
NEW:
* Sickbay, Weaponshop, Armorshop, Terran Pete's, Sleeping Pods, Bank, Nehrus,
Other Aliens.
Feel free to create new places for the following:
These are accessed:
Sickbay: sb??????.exe
WeaponShop: ws??????.exe
ArmorShop: as??????.exe
Terran Petes: tp??????.exe
Sleeping Pods: sp??????.exe
Bank: bk??????.exe
Nehru's Arena: na??????.exe
Other Aliens: oa??????.exe
If you drop an .exe into the SDL directory with the beginning letters of the
above, it will bypass my code for those areas. Your IGM will appear instead.
Give it a try by copying roid.exe to sbroid.exe and you will see what I mean.
IGM Necessary Information:
---------------------------------------------------------------------------
SDLoco was created using Brian Pirie's Opendoors program. If you are unfamiliar
with this C library, I recommend that you download it from a BBS, and register
it if you are going to use his library. You may NOT attach a module that
uses a library or program that is unregistered that interfaces with a modem,
a BBS, and with Stardock Loco. I accept no responsibility for your program
and/or its uses!
<Mean Mode OFF> :)
----------------------------------------------------------------------------
NEW ADDITION: I have just added MODULE.C to the stardock zip file. It
contains the full source of the blkmkt1.exe to get you started easier on a mod.
Just trying to make it easier on all of us...:) You may want to read the
code below, to get a little more insight, and see why I did what.....
Feel free to use module.c
as a starting point for your module. You can create a new black market that
runs from that slot, but you must include the armor and weapon upgrades as
part of your black market. Note: It is written using Brian Pirie's Opendoors
serial comm door program, and cannot be compiled without the odoorh.lib. But,
you can change that easily if you have another program that you use. See the
MODULE.C for more information.
That slot is accessed by blkmkt?.exe, the question mark being the number or
letter that you or I add to it. The version included with sdloco is
blkmkt1.exe.
--------------------------------------------------------------------------
The Shipyards Expansion Slots
--------------------------------------------------------------------------
If you create a module, it would be a good idea to include a description
for the Sysop to type into the sd_add.exe program. Or you can write an
easy install, and add it yourself. See the structure of the module.lst
file below. (waaaay below..) <--this only applies to the shipyards module
area!
-------------------------------------------------------------------------
Terran Pete's module slots
-------------------------------------------------------------------------
For the upstairs/downstairs area, no description is necessary. All that you
must do is begin the module name with:
dn To run from Downstairs
up To run from Upstairs
Example: DNmymod.exe <--it must end with .exe
-And then dump it in the sdloco directory.
I use the C function _dos_findfirst to look for the module. I am using the
wildcard characters in the following way:
up*.exe
dn*.exe
Whatever you put between the up/dn and the .exe doesn't matter to me. Do
note that it looks for the first occurence of an "up" or a "dn", and will
run that module. If there are other modules in the directory, it will
run the _first_ one it finds. Make sure to notify the sysop of this, and
tell them about removing another up/dn module, and possibly renaming it
and adding it to the shipyard module area using the sd_add.exe.
-------------------------------------------------------------------------
On board the ship module slot <G> Go for a cruise
-------------------------------------------------------------------------
For the on-board the ship area, no description is necessary. All that you
must do is begin the module name with:
nd
Example: ndMymod.exe <--it must end with .exe
-And then dump it in the sdloco directory.
This one is accessed from the <G> Go for a cruise part of the menu.
Feel free to create a new ending for the game if you wish! Or take
'em for a ride to the center of the universe...I dinna care! <G>
Once again, I am using _dos_find_first! See the Terran Pete's module
slot reference about this.
-------------------------------------------------------------------------
Favrie Colony * New Developments Area
-------------------------------------------------------------------------
This area is for those of you that wish to create a planet based IGM. There
are 5 slots. You will have to create a text file for the description of your
module. Just open an editor such as dos edit, and type in your description
on the first line. You have a 50 character line you can use. If you like, you
can colorize your description with the following:
`red` For bright colors:
`blue` add bright:
`yellow` example: `bright red`
`cyan`
`green`
Here is an example description:
`bright green`Into the Jungles of Favrie. <-this will show up on the menu
as a bright green item.
The ` is very important.
The modules and description files are as follows:
1fc*.exe
2fc*.exe
3fc*.exe <-IGM names
4fc*.exe
5fc*.exe
1fc*.dsc
2fc*.dsc
3fc*.dsc <-Description files
4fc*.dsc
5fc*.dsc
-And then dump it in the sdloco directory.
They will then run from the corresponding <1> <2> etc from the New Develop-
ments menu on the Favrie Colony.
I use the C function _dos_findfirst to look for the module. I am using the
wildcard characters in the following way:
1fc*.dsc
1fc*.exe
3fc*.dsc, etc.
Anything between the first three letters and the . are yours to add. I don't
look at them or worry about them.
If there are other modules with the same first 3 letters in the directory,
it will run the _first_ one it finds. Make sure to notify the sysop of this,
and tell them about removing the other favrie module, and possibly renaming it
and adding it to the shipyard module area using the sd_add.exe, or renaming
yours to another module such as 5fcMymod.exe/.dsc.
------------------------------------------------------------------------
For all module areas:
------------------------------------------------------------------------
Try to make the program install and un-install in a minute or less. Save
the Sysop all the hassle you can! They're busy ya know!
NOTE WELL:
* You must have exclusive file access if you access my player file! See the
C version of the exclusive file access I have included.
ABOUT ME:
I am a new C programmer, as you experienced C people may notice in some
of the following code. As a student at DeVry in Phoenix, Az, I decided
to really learn C the first day of the C class. So, I wrote this sucker
in the following month. I learned some C. While the rest of the class
was doing printf, I was banging away at spawning other programs, and
doodling in memory allocation and serial comm. They hate me...<JK>
So, you may notice some weird stuff in the code that is in this text file.
I didn't change some of it because it worked, even though I found out later
that it wasn't the _best_ way. But it werked at the time, and werks now.
Expect nicer cleaner stuff soon.....
And, thanks for reading this, and playing Stardock Loco. If you know
how to write stuff, please add on to the game. It would be tremendously
cool to have a lot of nice add-ons that are full featured games that
work together!! It could make it _the_ game to have!
All of this is in C, if you don't know C, it shouldn't be too tough for
you Pascalites, or other language types with a big book.
-------------------------------------------------------------------------
Expansion Modules: All areas, Terran Pete's/Shipyard Modules/On ship
-------------------------------------------------------------------------
I make the expansion modules separate entities from the game. When they run
the module, Stardock Loco is swapped to disk. Your module then takes control
of any modem interfacing. When they return, Stardock then checks to see if
the player's lifepoints are greater than 0. If so, they continue the game.
If not, they are sent back to the BBS.
The module is spawned similar to the spawnvpe function in C. (Opendoors 5.0
od_spawnvpe function). What I pass to the module is the *path* to the door.sys
or whatever type the door file is for the BBS. That file contains all the
information that is required for the door. (od_control structure for Opendoors
users). Then I extract the player's real name from the door file.
Note: If the game is run in local mode, I pass a switch of /L in the
argv. This causes the Sysop to log into the module....(gonna change that!)
When the player goes to the modules, I look up their real name, then when
the match is found, run the module. If it isn't found, that is a major error,
and they return... The favrie.exe Colony has it's own special player file.
fav_pl.lst. See the example waaaay at the bottom of this file.
FILE AND CODE INFORMATION: //Also see MODULE.C (Blackmarket)
*****************READ THIS, EVEN IF YOU'RE USING MODULE.C!!***************
---------------------------------------------------------------------------
The main player file as defined in C: player.lst
---------------------------------------------------------------------------
The player.lst is saved in text format.
I then convert the player to the correct integer and long values that
I need in the game. (Don't ask why..<G>)
//size definitions
#define MAXNAME 30
#define MAXBBSNAME 36
#define MAXWEAPONNAME 20
#define MAXARMORNAME 20
#define MAXSTANDARDLONG 10
#define MAXSTANDARDINT 4
struct player
{
char on_now[MAXSTANDARDINT+1]; //If they are currently on-line = 1
char name[MAXNAME+1]; //Game name
char bbs_name[MAXBBSNAME+1]; //Real name
char living[MAXSTANDARDINT+1]; //if alive = 1, dead = 0
char killer[MAXNAME+1]; //Who killed them
char location[MAXSTANDARDINT+1]; //Where they are. 1=Terran Pete's
// 2=Pods
char lifepoints[MAXSTANDARDLONG+1]; //lifepoints
char lifepointsttl[MAXSTANDARDLONG+1]; //Total lifepoints
char weapon[MAXWEAPONNAME+1]; //Weapon name
char weapon_energy[MAXSTANDARDLONG+1]; //Current amount of Energy Packs
char weapon_strength[MAXSTANDARDINT+1]; //Weapon strength i.e. 1, 2, 3, 4 etc.
char max_packs[MAXSTANDARDLONG+1]; //Total energy packs gun will hold
char weapon_status[MAXSTANDARDINT+1]; //if owns weapon = 1
char weapon_cost[MAXSTANDARDLONG+1]; //Weapon's value
char armor[MAXARMORNAME+1]; //Armor Name
char armor_strength[MAXSTANDARDLONG+1]; //Strength of Armor
char armor_status[MAXSTANDARDINT+1]; //if they have armor = 1
char armor_cost[MAXSTANDARDLONG+1]; //Armor Value
char credits[MAXSTANDARDLONG+1]; //credits on hand
char bank_credit[MAXSTANDARDLONG+1]; //credits in Guido's Bank
char pod[MAXSTANDARDINT+1]; //if own a pod = 1
//SOMEBODY CRUISE THIS SHIP ALL OVER THE GALAXY PLEASE!!! <G>
//Battles! Trading, quests, exploration, planets, stars...
char ship[MAXSTANDARDINT+1]; //if own a ship = 1 // 2=I'stellar cruiser
char ship_name[MAXNAME+1]; //name of ship
char ship_type[MAXSTANDARDINT+1]; //type of ship. 1=garbage scow
// 2=I'stellar cruiser
char mt[MAXSTANDARDINT+1]; //has a matter transmitter =1
char arkon_bomb[MAXSTANDARDINT+1]; //has a bomb = 1
char level[MAXSTANDARDINT+1]; //player level
char experience[MAXSTANDARDLONG+1]; //Experience
char kills[MAXSTANDARDINT+1]; //kills. <-used on asteroid. Turns used.
char droids[MAXSTANDARDINT+1]; //number of droids
char passkey[MAXSTANDARDINT+1]; //number of passkeys
//globals
char on_off[MAXSTANDARDINT+1]; //if droids armed = 1
char sickbay_closed[MAXSTANDARDINT+1]; //if sickbay closed = 1
char bank_closed[MAXSTANDARDINT+1]; //if bank_closed = 1
char pickpocket[MAXSTANDARDINT+1]; //pickpocketed nurse wetley
char tipcnt[MAXSTANDARDINT+1]; //how many times stolen tips
char owns[MAXSTANDARDINT+1]; //owns weaponshop = 1
//owns armorshop = 2
//owns both = 3
char fights[MAXSTANDARDINT+1]; //fights used today
char last_played[MAXSTANDARDINT+1]; //day last played. (stardate)
};
That big mess is converted to this in the game:
struct on_line_player
{
int on_now;
char name[MAXNAME+1];
char bbs_name[MAXBBSNAME+1];
int living;
char killer[MAXNAME+1];
int location;
long lifepoints;
long lifepointsttl;
char weapon[MAXWEAPONNAME+1];
unsigned long weapon_energy;
int weapon_strength;
unsigned long max_packs;
int weapon_status;
unsigned long weapon_cost;
char armor[MAXARMORNAME+1];
unsigned long armor_strength;
int armor_status;
unsigned long armor_cost;
unsigned long credits;
unsigned long bank_credit;
int pod;
int ship;
char ship_name[MAXNAME+1];
int ship_type;
int mt;
int arkon_bomb;
int level;
unsigned long experience;
int kills;
int droids;
int passkey;
int on_off;
//reset daily by extern: //from defaults....
int sickbay_closed; //killed staff
int bank_closed; //angered guido
int pickpocket; //picked N. Wetlys pocket
int tipcnt; //max tips taken
int owns; //1 owns weapon shop, 2 owns armor shop
int fights; //fights used today
int last_played; //stardock days running
};
--------------------------------------------------------------------------
Favrie Colony player list: fav_pl.lst
--------------------------------------------------------------------------
If you wish to use the special skills that the player has gotten on the
colony, or any other stuff, here it is:
Expect this to change if I expand the colony.
struct fahvrie
{
unsigned long cillenium; //how much cillenium they have found
int skill; //skill 1 = nard kick, 2 3 4 5 6 7 8 9
//if they are a level 4, they can use 4,3,2,1
int mine_turns; //turns used in the mine
int fight_turns; //turns used in the nightclub
int fights; //total fights in the nightclub
// important to raise skill level.
unsigned long bank_credit;
};
As stored in the fav_pl.lst, text format:
struct p_file
{
char name[MAXNAME+1]; //Real Name
char cillenium[MAXSTANDARDLONG+1]; /////////////////////////
char weapon[MAXWEAPONNAME+1]; /// <<-not used yet
char mine_turns[MAXSTANDARDINT+1]; /// Same as above
char complex_turns[MAXSTANDARDINT+1]; /// <<-not used yet
char nightclub_turns[MAXSTANDARDINT+1]; ///
char bank_credit[MAXSTANDARDLONG+1]; ///
char fight_turns[MAXSTANDARDINT+1]; ///
char skill[MAXSTANDARDINT+1]; ///
char fights[MAXSTANDARDINT+1]; ////////////////////////
char exp2[MAXSTANDARDINT+1]; //expansion slot <-not used yet.
char date; //date last played. date<<_dos_getdate
};
--------------------------------------------------------------------------
module.lst record definition
--------------------------------------------------------------------------
I've added this for those of you that wish to add an easy install for the
sysop that automatically adds your module into the module.lst for the
ShipYards expansion area.
Please include an easy un-install as well.
#define MAXPATH 36 // length of fields in entry box
#define MAXDESCRIPTION 40
struct record
{
char path[MAXPATH];
char description[MAXDESCRIPTION];
};
---------------------------------------------------------------------------
News File: news.fil
---------------------------------------------------------------------------
Wanna dump something in the news? Here ya go.
#define MAXNEWS 80
struct daily
{
char date[MAXSTANDARDINT+1]; //Stardate (game running date for delete)
//game starts at 1 - see global.dat file
//description for more details on date.
char line[MAXNEWS+1]; //80 + 1 //news goes here.
};
---------------------------------------------------------------------------
Mail File: mail.fil
---------------------------------------------------------------------------
#define MAXNEWS 80
struct new_mail
{
char from_name[MAXNAME+1]; //from
char to_name[MAXNAME+1]; //to
char line[MAXNEWS+1]; //what they said.
};
--------------------------------------------------------------------------
Global.dat file (Created by the install program sd_init.exe)
(Stardate updated by first player on new day
by spawned sd_ext.exe - maintenance program)
--------------------------------------------------------------------------
struct global_file
{
char lifepoints[MAXSTANDARDLONG+1]; //new player lifepoints
char lifepointsttl[MAXSTANDARDLONG+1]; //new player total lifepoints
char credits[MAXSTANDARDLONG+1]; //new player credits
char droids[MAXSTANDARDINT+1]; //new player droids
char tipcnt[MAXSTANDARDINT+1]; //maximum stolen tips a day (turns)
char wep_owner[MAXNAME+1]; //who currently owns weaponshop
char arm_owner[MAXNAME+1]; //who currently owns armorshop
char fights[MAXSTANDARDINT+1]; //fights per day
char stardate[MAXSTANDARDINT+1]; //current stardate running
//^use this if you create news! // this starts at one, and is
// updated during each maintenance
// run. Incremented by 1.
unsigned char realdate; //Real d.day from _dos_getdate
}; //I just check for a change.
--------------------------------------------------------------------------
Exclusive File Access
--------------------------------------------------------------------------
This is the exclusive file access routine used for the program:
For those that haven't used exclusive file access: What this does is
keeps two players from writing or reading a file at the same time. Big
problems could develop on multi-line BBS's if players are playing
at the same time, and writing the same file at the same moment. Bad Bad
Bad!!! <G>
Author of the following exclusive file access function:
Brian Pirie, Opendoors Door Programming Toolkit. <-get it, it's good!
#define WAIT_FOR_FILE 10 /* Time to wait for access to file */
FILE *OpenExclusiveFile(char *pszFileName, char *pszAccess, time_t Wait);
FILE *OpenExclusiveFile(char *pszFileName, char *pszAccess, time_t Wait)
{
FILE *pfFile;
time_t StartTime = time(NULL);
for(;;)
{
/* Attempt to open file */
pfFile = fopen(pszFileName, pszAccess);
/* If file was opened successfuly, then exit */
if(pfFile != NULL) break;
/* If open failed, but not due to access failure, then exit */
if(errno != EACCES) break;
/* If maximum time has elapsed, then exit */
if(StartTime + Wait < time(NULL)) break;
/* Give the OpenDoors kernel a chance to execute before trying again */
/////////NOTE///////////////////
od_kernel(); //should be included if you use Opendoors 5.0
} //or exclude it if you don't.
/* Return pointer to file, if opened */
return(pfFile);
}
---------------------------------------------------------------------------
Enemies are hard coded in the game....ewwww.
---------------------------------------------------------------------------
struct enemy
{
char name[MAXNAME+1]; //name of alien
int living; //if alive = 1
char weapon[MAXWEAPONNAME+1]; //weapon name
unsigned long weapon_energy; //weapon enemy
int weapon_strength; //weapon strength
int level; //level <-not used
unsigned long experience; //experience
int kills; //kills <-not used
int weapon_status; //if they have a weapon = 1 <-not used
char armor[MAXARMORNAME+1]; //armor name
unsigned long armor_strength; //armor strength
unsigned long credits; //credits
long lifepoints; //yep
long lifepointsttl; //uh-huh
};
Well, there it all is. If you want some more info, write me e-mail at
alanen@hvs.mail.com (Rock Garden BBS, Phoenix AZ) or at the Sherwood Forest
BBS, (602) 876-0013.
I'd be glad to look at what you have, or try to answer any pertinent questions.
Hasta luego amigos. Estamos locos....(pardon my bad spanish) I'm a finlander
that should be herding raindeer, not babbling in spanish and drinking irish
cervezas...<G>
----------------------------------------------------------------------------
More Help for Opendoors Hombres...
----------------------------------------------------------------------------
This is the main routine for the favrie colony. Also follows is a
player file read for any module or main file. See also MODULE.C.
void main(int argc,char *_argv[])
{
int counter;
int sync=0;
for(counter=1;counter<argc;++counter)
{
if((_argv[counter])[1]=='l'||(_argv[counter])[1]=='L')
{
od_control.od_force_local=TRUE; //make it local mode.
od_clr_scr();
od_printf("`cyan`╒═════════════════════════════════════════════════════════════╕\n\r");
od_printf("│`green`STARDOCK LOCO -`cyan` Local Mode - Favrie Colony │\n\r");
od_printf("╘═════════════════════════════════════════════════════════════╛\n\r");
od_printf(" Enter your name: ");
od_input_str(door_sys_name,MAXBBSNAME,32,127);
door();
sync=1; //keep from playing game twice.
}
}
if(sync==0) //otherwise we play game twice in local mode...
{ //hey, I'm new at this...<G>
if(argc>1) strncpy(od_control.info_path,_argv[1],59); //path to door file
od_init(); //opendoors initialization.
strcpy(door_sys_name,od_control.user_name); //move user_name from door.sys
door(); //to my door_sys_name.
}
}
#define MAXBBSNAME 36
char door_sys_name[MAXBBSNAME+1];
void door(void)
{
char answer;
r_player_file(); //get the player's normal stats.
if(playerfound==1)
{
r_fahvrie_file(); //get the player's favrie stats.
od_clr_scr(); //clear screen.
od_printf("\n\r╒═════════════════════════════════════════════════════════════╕\n\r");
od_printf("│`green`STARDOCK LOCO -`cyan` Rental Craft │\n\r");
od_printf("╘═════════════════════════════════════════════════════════════╛\n\r");
od_printf("You get into the little short range Needler that you rented\n\r");
od_printf("from Guido and head over to the Favrie Colony. \n\r");
od_printf("\n\r <`red`L`cyan`> Land at the Favrie Colony\n\r");
od_printf(" <`red`X`cyan`> Exit back to Stardock\n\r");
od_printf("\n\rMake your choice: ");
answer=od_get_answer("LX\n\r");
switch(answer)
{
case 'X':
od_printf("\n\rScared of Deep Space, you decide to return to the Stardock.");
WaitForEnter();
break;
case 'L':
default:
favrie_main(); //main favrie screen and options menu.
break;
}
}
else
{
od_printf("\n\rPlayer not found!");
od_printf("Name Error.");
WaitForEnter();
} //then will return from whence it came...
}
////////////////////read of player file to get details///////////////
void r_player_file(void)
{
struct player *names;
int p;
FILE *fptr;
record_count=0;
if((names=(struct player*) calloc(100,sizeof(struct player)))==NULL)
{
od_printf("\n\rNot enough memory for Player.lst");
WaitForEnter();
}
else
{ ///must have the exclusive file access....
fptr = OpenExclusiveFile("player.lst", "rb", WAIT_FOR_FILE);
while( fread(&names[record_count],sizeof(names[record_count]),1,fptr)==1)
record_count++;
fclose(fptr);
}
//check for a match of name[p].bbs_name
//against door_sys_name
for(p=0;p<record_count;p++)
{ //begin for
if (stricmp (door_sys_name,names[p].bbs_name) ==0 )
{ //begin if
playerfound=1; //player is found...
strcpy(current.name,names[p].name);
strcpy(current.bbs_name,names[p].bbs_name);
current.living=atoi(names[p].living);
strcpy(current.killer,names[p].killer);
current.location=atoi(names[p].location);
current.lifepoints=atol(names[p].lifepoints);
current.lifepointsttl=atol(names[p].lifepointsttl);
/////////AAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGHHHHHH
strcpy(current.weapon,names[p].weapon);
current.weapon_energy=atol(names[p].weapon_energy);
current.weapon_strength=atoi(names[p].weapon_strength);
current.max_packs=atol(names[p].max_packs);
/////////////lalalalalallaalalalalalalalal
current.weapon_status=atoi(names[p].weapon_status);
current.weapon_cost=atol(names[p].weapon_cost);
strcpy(current.armor,names[p].armor);
current.armor_strength=atol(names[p].armor_strength);
current.armor_status=atoi(names[p].armor_status);
current.armor_cost=atol(names[p].armor_cost);
current.credits=atol(names[p].credits);
current.bank_credit=atol(names[p].bank_credit);
current.pod=atoi(names[p].pod);
///AND THERE IS YET MORE!!!!!!!!!!!!!
current.ship=atoi(names[p].ship);
strcpy(current.ship_name,names[p].ship_name);
current.ship_type=atoi(names[p].ship_type);
current.mt=atoi(names[p].mt);
current.arkon_bomb=atoi(names[p].arkon_bomb);
///Talk about a pain in the butt.
current.level=atoi(names[p].level);
current.kills=atoi(names[p].kills);
current.experience=atol(names[p].experience);
current.droids=atoi(names[p].droids);
current.passkey=atoi(names[p].passkey);
///I shan't do it like this again......
current.on_off=atoi(names[p].on_off);
current.sickbay_closed=atoi(names[p].sickbay_closed);
current.bank_closed=atoi(names[p].bank_closed);
current.pickpocket=atoi(names[p].pickpocket);
current.tipcnt=atoi(names[p].tipcnt);
current.owns=atoi(names[p].owns);
current.fights=atoi(names[p].fights);
current.last_played=atoi(names[p].last_played);
//////////get me outta here!!!!!!!!!!
p=record_count;
} //end if
else playerfound=0;
} //end for
free(names); /////Dump the calloc
}
Any additional questions can be sent to me at the following addresses:
----------------------------------------------------------------------------
The support BBS for new versions of Stardock Loco is the Sherwood Forest BBS.
This BBS is run by a friend of mine, John Myers, aka Little_john.
The number is: (602) 876-0013.
To access the file and message areas for Stardock Loco,
use the following log-in:
First Name: Stardock
Last Name : Loco
Password : Support
My name, if you forgot, is Aaron Alanen. I can also be reached by i-mail/e-mail
at alanen@mail.hvs.com (Rock Garden BBS, Phoenix, AZ)
Other ways to reach me:
aaron.alanen@jccs.parasol.stat.com
MajorNet: notme atall@rok
I can also be reached in Phoenix, Arizona at the following BBS:
JCCS BBS : (602) 582-4200
(Note: I am only a member there, and not the SySop!)
Or snail:
Aaron Alanen
6502 E. Vernon
Scottsdale, AZ 85257-1140
USA.
See the ORDER.FRM to get information on registering Stardock Loco!
Thanks for reading this far!
----------------------------------------------------------------------------